<?php

/********************** 2.8  找到两个位置之间的距离 *****************/

// 问题
// 希望找到地球上两个坐标之间的距离

function sphere_distance($lat1, $lon1, $lat2, $lon2, $radius = 6378.135)
{
    $rad = doubleval(M_PI / 180.0);
    $lat1 = doubleval($lat1) * $rad;
    $lon1 = doubleval($lon1) * $rad;
    $lat2 = doubleval($lat2) * $rad;
    $lon2 = doubleval($lon2) * $rad;

    $theta = $lon2 - $lon1;
    $dist = acos(sin($lat1) * sin($lat2) +
        cos($lat1) * cos($lat2) *
        cos($theta));
    if ($dist < 0) {
        $dist += M_PI;
    }

    // 默认为地球赤道半径（公里数）
    return $dist = $dist * $radius;
}

